import 'package:flutter/material.dart';

/// 手势App
class GestureApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(primarySwatch: Colors.red),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Gesture App'),
        ),
        body: GestureDetector(
          child: Text(
            '按钮',
            style: TextStyle(fontSize: 26),
          ),
          // 按下
          onTapDown: (TapDownDetails detail) {
            print('onTapDown: $detail');
          },
          // 按下中
          onTap: () {
            print('onTap');
          },
          // 弹起
          onTapUp: (TapUpDetails detail) {
            print('onTapUp: $detail');
          },
          // 取消
          onTapCancel: () {
            print('onTapCancel');
          },
          // 双击
          onDoubleTap: () {
            print('onDoubleTap');
          },
          // 长按
          onLongPress: () {
            print('onLongPress');
          },
          // 长按弹起
          onLongPressUp: () {
            print('onLongPressUp');
          },
          // 竖向拖拽按下
          onVerticalDragDown: (DragDownDetails detail) {
            print('onVerticalDragDown: $detail');
          },
          // 竖向拖拽开始
          onVerticalDragStart: (DragStartDetails detail) {
            print('onVerticalDragStart: $detail');
          },
          // 竖向拖拽结束
          onVerticalDragEnd: (DragEndDetails detail) {
            print('onVerticalDragEnd');
          },
          // 竖向拖拽取消
          onVerticalDragCancel: () {
            print('onVerticalDragCancel');
          },
          // 竖向拖拽更新
          onVerticalDragUpdate: (DragUpdateDetails detail) {
            print('onVerticalDragUpdate: $detail');
          },
          // 横向拖拽按下
          onHorizontalDragDown: (DragDownDetails detail) {
            print('onHorizontalDragDown: $detail');
          },
          // 横向拖拽开始
          onHorizontalDragStart: (DragStartDetails detail) {
            print('onHorizontalDragStart: $detail');
          },
          // 横向拖拽结束
          onHorizontalDragEnd: (DragEndDetails detail) {
            print('onHorizontalDragEnd: $detail');
          },
          // 横向拖拽结束
          onHorizontalDragCancel: () {
            print('onHorizontalDragCancel');
          },
          // 横向拖拽更新
          onHorizontalDragUpdate: (DragUpdateDetails detail) {
            print('onHorizontalDragUpdate: $detail');
          },
//          onPanDown: (DragDownDetails detail) {
//            print('onPanDown: $detail');
//          },
//          onPanStart: (DragStartDetails detail) {
//            print('onPanStart: $detail');
//          },
//          onPanEnd: (DragEndDetails detail) {
//            print('onPanEnd: $detail');
//          },
//          onPanCancel: () {
//            print('onPanCancel');
//          },
//          onPanUpdate: (DragUpdateDetails detail) {
//            print('onPanUpdate: $detail');
//          },
          // 缩放开始
//          onScaleStart: (ScaleStartDetails detail) {
//            print('onScaleStart: $detail');
//          },
//          // 缩放更新
//          onScaleUpdate: (ScaleUpdateDetails detail) {
//            print('onScaleUpdate: $detail');
//          },
//          // 缩放结束
//          onScaleEnd: (ScaleEndDetails detail) {
//            print('onScaleEnd: $detail');
//          },
        ),
      ),
    );
  }
}
